home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d7 / docsdsz.arc / DSZ-TIPS.DOC next >
Text File  |  1990-02-04  |  12KB  |  397 lines

  1. ──────────────────────
  2. Zmodem 'Crash recovery'
  3. ──────────────────────
  4.  
  5. Explanation :  for example, let's imagine that you're in the middle of the
  6. downloading of a 200 K file. For some reason, you fall asleep, or, tired of
  7. waiting you go out to make a cup of coffee, your child comes and type
  8. at the keyboard an Alt-N, or your wife yells at you and disconnect the phone.
  9. Horror, you've got only the first 190 K's. Should you call back your favorite
  10. BBS and start again the downloading from 0 ?  What a waste... but, didn't
  11. you know that Dsz have 'Crash recovery' feature :  it allows to resume the
  12. download at the point where it was aborted priorly. Only the last missing
  13. 10 K's will be downloaded to complete the 200 K file.
  14.  
  15.  
  16. The problem, you ask yourself, how can I exploit this 'Crash Recovery'?
  17.  
  18. - First :  no panic, you can make the 'Crash recovery' at any time you want,
  19.            say, tomorrow when your child is at school and your wife is at the
  20.            market.
  21.  
  22. - Second:  don't touch the truncated file which you've already received.
  23.  
  24.            (You can see that it is incomplete by typing at DOS prompt DIR :
  25.            the truncated file has no date on it ).
  26.            If you want to check if it is workable with the missing part, copy it
  27.            to another directory and work on the copy.
  28.  
  29. - Third:   make sure that it is in your usual downloading directory.
  30.  
  31. - Fourth:  log back onto your BBS. Proceed normaly.
  32.  
  33. For example, on this Opus BBS, at the File section, enter :
  34.  
  35.                    d z filewant.big
  36.  
  37. where 'd' is the normal Opus download request, 'z' is Zmodem protocol, and
  38. 'filewant.big' is the file which download was aborted priorly.
  39. ( That's a nicety on Opus that successive commands can be put on a single
  40. line, instead of waiting each time for a prompt ).
  41.  
  42. - Fifth:  from your comms program, make a shell to DOS. Now, that's here
  43.           where 'Crash recovery' will be possible. Instead of typing the normal
  44.           'dsz rz', enter :
  45.  
  46.                     dsz rz -r
  47.  
  48.          That's all, Dsz will do the rest. Ouf !
  49.  
  50. ───
  51.  
  52. With the '-r' option, Dsz automatically check the current directory for
  53. 'filewant.big'. If size doesn't match what Opus is sending, Dsz request
  54. that Opus send only the missing part and appends it to the file.
  55.  
  56. ───
  57.  
  58. Since the day I've learned this 'Crash recovery' possibility, I've made
  59. systematic use of it. Now, I voluntarily abort huge file downloading,
  60. I take a look at the firsts K's to check if I'll want to complete the
  61. downloading or no.
  62.  
  63.  
  64.  
  65. ──────────────
  66. Timing options
  67. ──────────────
  68.  
  69. When using Dsz, it may be that you see a lot of 'Time-out', or it may be
  70. that the performance of Zmodem file transfer seems bad. ( Performance is
  71. bad if at 1200 bauds you get less than 105 char/sec throughput ).
  72. The cause may be that your PC is a too fast clone !  Too fast, the protocol
  73. 'times-out', and request retransmission of a packet, which in fact is
  74. already on the way, at times the same packet is sent over and over even if
  75. there's no error.
  76.  
  77. ───
  78.  
  79. Make a rough check whether your system require timing change or not. Type :
  80.  
  81.         dsz d rz
  82.  
  83. ( The 'd' allows to make timing test without being on-line ).
  84.  
  85. After about 10 seconds, you should see the message :
  86.  
  87. Byte -1 retry 0: TIMEOUT
  88. Then after another 10 secs :
  89. Byte -1 retry 1: TIMEOUT
  90. etc.
  91.  
  92. If the time between the TIMEOUTs is less than 10 seconds, your system is
  93. probably too fast. To make Dsz timing changes, you may try one or more
  94. combination of the following :
  95.  
  96.   ┌──>  dsz pa10000 d rz        { change the "global" timing 'a' parameter }
  97.   │     dsz z pp500 d rz        { change the "in-packet" Zmodem time-out }
  98.   │     dsz z pt1000 d rz       { change the "receiving" Zmodem time-out }
  99.   │     dsz z pT4000 d rz       { chnage the "sending" Zmodem time-out }
  100.   │
  101.   │
  102. ──────────────────────────
  103. NOTE:
  104.  
  105.     EXPERIMENT WITH THE paX NUMERIC PARAMETER FIRST!  THE FOLLOWING IS AN
  106.     EXCERPT FROM THE DSZ manual:
  107.  
  108.     paX  Calibrates certain protocol timeouts used with XMODEM and YMODEM
  109.     transfers (Cybernetic Data Recovery(TM)).  This parameter does not affect
  110.     ZMODEM transfers.
  111.  
  112.     The a numeric parameter is automatically set to 2000 for a 4.77 mHz PC or
  113.     XT, 4000 for a PS2/30, 6000 for an 8 mHz 1ws AT, and 12000 for a PS2/80.
  114.     If your computer has a speedup card or otherwise runs unusually fast (or
  115.     slow!) for its type, you may set the a numeric parameter to a value that
  116.     reflects its speed.
  117.  
  118.     EXAMPLE: dsz port 2 pa4000 rb
  119.  
  120. ───────────────────────────
  121.  
  122. Or you may combine all :
  123.  
  124.         dsz pa10000 z pp500 pt1000 pT4000 d rz
  125.  
  126. ( All cases are significant, options must be separated by spaces, and
  127. after a 'z' option, all 'p' are related to the 'z' option. Typing
  128. "dsz pa3000 z pp100 pt400 d rz" is correct, but
  129. "dsz z pp100 pt400 pa3000 d rz" is not ).
  130. Try until you find some correct 'pa', 'z pp', 'z pt', 'z pT' values.
  131.  
  132. ───
  133.  
  134. Hints to facilitate the search of good timing parameters:
  135.  
  136. - For downloading, it is sufficient to change only the 'z pt' parameter.
  137.  
  138. - Start with a big 'z pt' value. With your watch, take note of the time
  139.   between the TIMEOUTs messages. Divide this time by 10. With the divisor
  140.   you've calculated, divide your initial 'z pt' value.
  141.   Example :  Suppose that after you type "dsz z pt2000 d rz" you get a timing
  142.   of 120 seconds between two succesive TIMEOUT. 120 divided by 10 gives 12.
  143.   2000 divided by 12 gives approximately 167. Try then with "dsz z pt167 d rz".
  144.  
  145. ───
  146.  
  147. Once you have find, you should write a batch file which makes the timing
  148. settings each time Dsz is called ( otherwise each time Dsz reverts to its
  149. default settings ) .  For example DSZ.BAT :
  150.  
  151.         echo off
  152.         dsz pa6000 z pt167 %1 %2 %3 %4 %5 %6 %7 %8 %9
  153.  
  154. In case you use an RZ.BAT batch file which contained :
  155.  
  156.         dsz rz %1 %2 %3
  157.  
  158. Change it to :
  159.  
  160.         dsz pa6000 z pt167 rz %1 %2 %3
  161.  
  162. ───
  163. Note that timing options are different from file transfer options.
  164. Timing parameters, just as 'CON' or 'port' or 'speed' options described in
  165. DSZ.DOC must precede 'rz', while the "Crash recovery" '-r' option must
  166. follow 'rz'.
  167.  
  168.  
  169.  
  170. ─────────────────────────────
  171. An overview about Dsz options
  172. ─────────────────────────────
  173.  
  174. It is easy to understand if you consider that Dsz requires 3 groups of options:
  175.  
  176. - The first group are those related to the system on which you run Dsz,
  177.   such as timings, which port your modem is connected, etc. With the 'pa',
  178.   'z pt', 'CON' etc, you tell the configuration to Dsz.
  179.  
  180. - The second group specifies what you want to be done with Dsz :
  181.   send or receive, and which protocol you request ( X, Y or Z-modem ).
  182.  
  183. - The third group of option is dependent on the transfer protocol you have
  184.   requested. You tell what kind of modification to the protocol you want.
  185.   Thus '-r' Crash recovery is specific to Zmodem. Filenames may or may not be
  186.   needed, depending on the transfer protocol requested.
  187.  
  188. ───
  189.  
  190. You can mix as many options as you want. The only important requirement is
  191. that the order should be consistent :  the options are context-dependent.
  192. Thus if you want only to have a look at the default 'p' parameters, enter :
  193.  
  194.         dsz p
  195.  
  196. Or you want to look at the default 'z p' parameters, enter :
  197.  
  198.         dsz z p
  199.  
  200. Or you want to look at 'p' and 'z p' together, enter :
  201.  
  202.         dsz p z p
  203.  
  204. Or if you want to make a Zmodem download with full debugging report, with
  205. modem connected to COM2 at 2400 bauds and on a system which require timing
  206. fine tuning, the command may be :
  207.  
  208.         dsz CON port 2 speed 2400 pa7300 pv9 z pt92 pT1200 rz
  209.            |                                              |
  210.        ( 'pv9' means Verbose Level 9 - must not follow a 'z' ).
  211.  
  212. You can put more configuration option between the 'dsz' and 'rz', for
  213. example you may insert a 'd' to test off-line, and you may insert lone 'p'
  214. to view that the 'pa' is indeed changed to 7300 :
  215.  
  216.         dsz CON port 2 speed 2400 pa7300 pv9 p z pt92 pT1200 p d rz
  217.            |                                                    |
  218. The first lonely 'p' prints out a list of the 'p' parameters settings.
  219. The second lonely 'p', since it follows a previous 'z', it prints out a list
  220. of the 'z p' parameters settings.
  221.  
  222.  
  223.  
  224. ───
  225. Following is a summary table of Dsz options. A table is convenient to test
  226. possibilities in case you need it. More detailed explanations would require
  227. the manual, I'm waiting for my registration...
  228. ──────────────────────          ────────────────        ───────────────
  229. Configuration settings          Transfer request        Protocol option
  230. ──────────────────────          ────────────────        ───────────────
  231. CON                             rz  {receive Zmodem}    [-abnpr+y] [filename]
  232. LARG                            sz  {send Zmodem}       [-abnpr+y] wildcard
  233. port #                          rx  {receive Xmodem}    [-abc+y] filename
  234. speed #                         sx  {send Xmodem}       [-k] filename
  235. d                               rb  {receive Ymodem}    [-ab+y] [filename]
  236. handshake                       sb  {send Ymodem}       [-k] wildcard
  237. restrict
  238. p?#
  239. z p?#
  240. ─────────────────────           ─────────────────       ───────────────
  241. Where # is a number,            It should be obvious    -a would mean translate
  242. ? is a letter.                  rz sz rx sx ...         the end of line (no need
  243. Any mixing of the               may not be mixed        to worry what EOL is on
  244. above is valid                                          each system: with the -a
  245.                                                         option, Zmodem manages
  246.                                                         itself the translation
  247.                                                         so that it suits the
  248.                                                         system, Unix| DOS| CPM)
  249.                                                         -b binary transfer (it
  250.                                                         is the default)
  251.                                                         -r Crash recovery (dont
  252.                                                         mix with -a option !)
  253.                                                         -k use 1K blocks
  254.                                                         -c use CRC
  255.                                                         -+ append to existing
  256.                                                         file
  257.                                                         -n replace destination
  258.                                                         file if source file is
  259.                                                         newer
  260.                                                         -y overwrite existing
  261.                                                         file
  262.                                                         -p protect file
  263.                                                         [ ] means optional, do
  264.                                                         not type those [ and ]
  265.                                                         in the dsz command !
  266.                                                         Valid mixtures depend
  267.                                                         on the kind of transfer
  268.                                                         requested. Thus 'sx' can
  269.                                                         accept only '-k', while
  270.                                                         'rz' may accept '-an'.
  271. ───
  272. As an afterthought, it comes to me that in fact Dsz is many programs in one.
  273. It would ease users life if a batch menu is written to select options...
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.